#pragma once

namespace Be
{
	class Node;
}

namespace Be
{
	class Entity
		: private virtual NonDerivable
	{
	public:
		Entity(std::wstring p_Name);
		~Entity();

	private:
		std::wstring m_Name;

	public:
		const std::wstring& GetName();

		void AddNode(Node* p_pNode);
		void RemoveNode(Node* p_pNode);

	private:
		std::set<Node*> m_NodeSet;
	};
}